package modelo.persistencia;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;
import modelo.entidades.Entidad;

/**
 *
 * @author jjcamacho
 */
public interface GenericDAO<T extends Entidad, K extends Serializable> {

    T read(K pk) throws SQLException, Exception;

    T read(T entidad) throws SQLException, Exception;

    void create(T entidad) throws SQLException, Exception;

    void update(T entidad) throws SQLException, Exception;

    void delete(T entidad) throws SQLException, Exception;

    List<T> list() throws SQLException, Exception;
}
